-- multiplicacao sequencial de matrizes em lua
-- Executar: lua mult.lua

tam = 500

-- declarando as matrizes ..
-- nao tenho como dizer diretamente que sao duas dimensoes
mat1 = {}
mat2 = {}
mat3 = {}


-- matriz1 recebe i, em lua os indices inicam em 1 nao 0
-- a sintaxe do for eh legal :) mas confunde ...
for i=1,tam do
	-- digo que o item i tambem eh uma matriz
	mat1[i] = {}
	for j=1,tam,1 do
		mat1[i][j]= i
	end	
end

-- matriz2 recebe j
for i=1,tam do
	mat2[i] = {}
	for j=1,tam do
		mat2[i][j] = j
	end
end

-- limpa mat3 para nao dar erro ao somar
for i=1, tam do
	mat3[i] = {}
	for j=1, tam do
		mat3[i][j] = 0
	end
end


-- multiplica as matrizes em mat3
-- nao sei porque o += nao funciona, na documentacao ateh tem exemplo ...
for i=1,tam do
	for j=1,tam do
		for r=1,tam do
			mat3[i][j] = mat3[i][j] + (mat1[i][r] * mat2[r][i])
		end
	end
end

-- tem uma funcao pronta que traz o tempo de execucao do programa
print("Executou em: "..os.clock().." segundos")
